Вот задачи для каждого из перечисленных разделов в MySQL с решениями и входными данными.
1. Выборка уникальных значений. Оператор DISTINCT (Базовые задачи)
Задача 1:
Получить все уникальные города из таблицы clients.
Задача 2:
Получить все уникальные категории продуктов из таблицы products.
Задача 3:
Получить все уникальные имена студентов из таблицы students.
Задача 4:
Получить все уникальные статусы заказов из таблицы orders.
Задача 5:
Получить все уникальные имена авторов из таблицы books.
Задача 6:
Получить все уникальные страны из таблицы clients.
Задача 7:
Получить все уникальные названия курсов из таблицы courses.
Задача 8:
Получить все уникальные типы мероприятий из таблицы events.
Задача 9:
Получить все уникальные марки автомобилей из таблицы vehicles.
Задача 10:
Получить все уникальные жанры книг из таблицы books.
Задача 11:
Получить все уникальные названия продуктов из таблицы products.
Задача 12:
Получить все уникальные роли пользователей из таблицы users.
Задача 13:
Получить все уникальные имена сотрудников из таблицы employees.
Задача 14:
Получить все уникальные типы заказов из таблицы orders.
Задача 15:
Получить все уникальные номера телефонов клиентов из таблицы clients.
Задача 16:
Получить все уникальные языки программирования из таблицы programming_languages.
Задача 17:
Получить все уникальные названия проектов из таблицы projects.
Задача 18:
Получить все уникальные названия городов, в которых есть студенты, из таблицы students.
Задача 19:
Получить все уникальные темы курсов из таблицы courses.
Задача 20:
Получить все уникальные имена контактов из таблицы contacts.
1. Выборка уникальных значений. Оператор DISTINCT (Сложные задачи)
Задача 1:
Получить все уникальные комбинации городов и стран из таблицы clients.
Задача 2:
Получить все уникальные комбинации имени и фамилии сотрудников из таблицы employees.
Задача 3:
Получить все уникальные курсы и их преподавателей из таблицы courses.
Задача 4:
Получить все уникальные названия книг и их авторов из таблицы books.
Задача 5:
Получить все уникальные статусы заказов и их дату из таблицы orders.
Задача 6:
Получить все уникальные названия проектов и их статусы из таблицы projects.
Задача 7:
Получить все уникальные типы мероприятий и их местоположения из таблицы events.
Задача 8:
Получить все уникальные языки и их уровня из таблицы programming_languages.
Задача 9:
Получить все уникальные названия студентов и их курсов из таблицы students.
Задача 10:
Получить все уникальные роли пользователей и их имена из таблицы users.
3. Операторы фильтрации (Базовые задачи)
Задача 1:
Выбрать всех клиентов из города Moscow.
Задача 2:
Выбрать все заказы с суммой больше 100.
Задача 3:
Выбрать всех студентов старше 18 лет.
Задача 4:
Выбрать все книги, написанные автором John Doe.
Задача 5:
Выбрать все продукты с ценой меньше 50.
Задача 6:
Выбрать все события, которые произойдут после 2024-01-01.
Задача 7:
Выбрать все отзывы с рейтингом выше 4.
Задача 8:
Выбрать все курсы, у которых число студентов больше 20.
Задача 9:
Выбрать всех сотрудников с зарплатой не менее 3000.
Задача 10:
Выбрать все автомобили марки Toyota.
3. Операторы фильтрации (Сложные задачи)
Задача 1:
Выбрать всех клиентов из New York или Los Angeles.
Задача 2:
Выбрать все заказы, сделанные в 2023 году.
Задача 3:
Выбрать студентов, у которых есть оценки выше 80.
Задача 4:
Выбрать все продукты, которые являются электроникой и стоят меньше 300.
Задача 5:
Выбрать все мероприятия, которые будут проходить в March и имеют тип conference.
Задача 6:
Выбрать всех студентов, у которых нет оценок.
Задача 7:
Выбрать всех сотрудников, работающих в HR или Finance, с зарплатой выше 5000.
Задача 8:
Выбрать все книги, написанные в 2022 году или имеющие рейтинг выше 4.5.
Задача 9:
Выбрать все заказы, у которых статус completed и сумма больше 500.
Задача 10:
Выбрать все продукты, у которых остаток на складе меньше 10.
4. Сортировка. ORDER BY (Базовые задачи)
Задача 1:
Выбрать всех клиентов и отсортировать по имени.
Задача 2:
Выбрать все заказы и отсортировать по дате.
Задача 3:
Выбрать всех студентов и отсортировать по возрасту по убыванию.
Задача 4:
Выбрать все книги и отсортировать по рейтингу.
Задача 5:
Выбрать все продукты и отсортировать по цене.
Задача 6:
Выбрать все отзывы и отсортировать по дате написания.
Задача 7:
Выбрать все курсы и отсортировать по количеству студентов по убыванию.
Задача 8:
Выбрать все мероприятия и отсортировать по типу.
Задача 9:
Выбрать всех сотрудников и отсортировать по зарплате.
Задача 10:
Выбрать все автомобили и отсортировать по марке.
4. Сортировка. ORDER BY (Сложные задачи)
Задача 1:
Выбрать всех клиентов и отсортировать сначала по стране, затем по городу.
Задача 2:
Выбрать все заказы и отсортировать по статусу, а затем по дате.
Задача 3:
Выбрать всех студентов и отсортировать по возрасту, а затем по имени.
Задача 4:
Выбрать все книги и отсортировать сначала по рейтингу, затем по дате публикации.
Задача 5:
Выбрать все продукты и отсортировать по категории, а затем по цене.
Задача 6:
Выбрать все отзывы и отсортировать по рейтингу, а затем по дате.
Задача 7:
Выбрать все курсы и отсортировать по количеству студентов, а затем по названию.
Задача 8:
Выбрать все мероприятия и отсортировать по типу, а затем по дате.
Задача 9:
Выбрать всех сотрудников и отсортировать по зарплате, а затем по имени.
Задача 10:
Выбрать все автомобили и отсортировать по марке, а затем по году выпуска.
5. Получение диапазона строк. Оператор LIMIT (Базовые задачи)
Задача 1:
Выбрать первых 10 клиентов.
Задача 2:
Выбрать первые 5 заказов.
Задача 3:
Выбрать первых 15 студентов.
Задача 4:
Выбрать первые 20 книг.
Задача 5:
Выбрать первых 10 продуктов.
Задача 6:
Выбрать первые 5 отзывов.
Задача 7:
Выбрать первые 10 курсов.
Задача 8:
Выбрать первые 10 мероприятий.
Задача 9:
Выбрать первых 10 сотрудников.
Задача 10:
Выбрать первые 5 автомобилей.
5. Получение диапазона строк. Оператор LIMIT (Сложные задачи)
Задача 1:
Выбрать 5 клиентов, начиная с 6 позиции.
Задача 2:
Выбрать 10 заказов, начиная с 11 позиции.
Задача 3:
Выбрать 10 студентов, начиная с 5 позиции.
Задача 4:
Выбрать 15 книг, начиная с 10 позиции.
Задача 5:
Выбрать 5 продуктов, начиная с 3 позиции.
Задача 6:
Выбрать 5 отзывов, начиная с 2 позиции.
Задача 7:
Выбрать 10 курсов, начиная с 4 позиции.
Задача 8:
Выбрать 10 мероприятий, начиная с 7 позиции.
Задача 9:
Выбрать 10 сотрудников, начиная с 2 позиции.
Задача 10:
Выбрать 5 автомобилей, начиная с 1 позиции.
6. Агрегатные функции (Базовые задачи)
Задача 1:
Подсчитать общее количество клиентов.
Задача 2:
Подсчитать общее количество заказов.
Задача 3:
Подсчитать общее количество студентов.
Задача 4:
Подсчитать среднюю цену продуктов.
Задача 5:
Подсчитать максимальную зарплату сотрудников.
Задача 6:
Подсчитать минимальную цену продуктов.
Задача 7:
Подсчитать общее количество книг.
Задача 8:
Подсчитать средний рейтинг книг.
Задача 9:
Подсчитать общее количество мероприятий.
Задача 10:
Подсчитать общее количество отзывов.
6. Агрегатные функции (Сложные задачи)
Задача 1:
Подсчитать общее количество заказов по статусу completed.
Задача 2:
Подсчитать среднюю зарплату сотрудников по отделу Sales.
Задача 3:
Подсчитать максимальную цену продуктов по категории electronics.
Задача 4:
Подсчитать минимальный рейтинг книг по жанру Fiction.
Задача 5:
Подсчитать общее количество студентов по курсам.
Задача 6:
Подсчитать среднюю цену продуктов по категориям.
Задача 7:
Подсчитать общее количество клиентов по странам.
Задача 8:
Подсчитать максимальный рейтинг книг по авторам.
Задача 9:
Подсчитать общее количество отзывов по продуктам.
Задача 10:
Подсчитать средний рейтинг мероприятий по типам.
7. Группировка (Базовые задачи)
Задача 1:
Выбрать количество студентов по курсам.
Задача 2:
Выбрать количество заказов по статусу.
Задача 3:
Выбрать количество книг по жанрам.
Задача 4:
Выбрать среднюю цену продуктов по категориям.
Задача 5:
Выбрать общее количество клиентов по городам.
Задача 6:
Выбрать максимальную зарплату сотрудников по отделам.
Задача 7:
Выбрать минимальный рейтинг книг по авторам.
Задача 8:
Выбрать общее количество отзывов по продуктам.
Задача 9:
Выбрать среднюю зарплату сотрудников по городам.
Задача 10:
Выбрать количество мероприятий по типам.
7. Группировка (Сложные задачи)
Задача 1:
Подсчитать общее количество студентов по курсам и полу.
Задача 2:
Подсчитать среднюю зарплату сотрудников по отделам и городам.
Задача 3:
Подсчитать количество заказов по статусу и клиенту.
Задача 4:
Подсчитать среднюю цену продуктов по категориям и производителям.
Задача 5:
Подсчитать общее количество отзывов по продуктам и пользователям.
Задача 6:
Подсчитать максимальный рейтинг книг по жанрам и авторам.
Задача 7:
Подсчитать общее количество клиентов по странам и городам.
Задача 8:
Подсчитать количество мероприятий по типам и датам.
Задача 9:
Подсчитать количество студентов по курсам и возрастным группам.
Задача 10:
Подсчитать количество заказов по датам и статусам.
8. Подзапросы (Базовые задачи)
Задача 1:
Выбрать всех клиентов, у которых есть заказы.
Задача 2:
Выбрать все заказы, сделанные клиентами из конкретного города.
Задача 3:
Выбрать студентов, которые учатся на курсах с определенным идентификатором.
Задача 4:
Выбрать книги, написанные авторами, у которых рейтинг выше среднего.
Задача 5:
Выбрать все отзывы, оставленные для продуктов с высокой ценой.
Задача 6:
Выбрать курсы, на которых учатся более 10 студентов.
Задача 7:
Выбрать все автомобили, которые были проданы по цене выше средней.
Задача 8:
Выбрать всех сотрудников, которые получают больше, чем средняя зарплата по компании.
Задача 9:
Выбрать книги, у которых рейтинг выше 4.
Задача 10:
Выбрать продукты, у которых нет отзывов.
8. Подзапросы (Сложные задачи)
Задача 1:
Выбрать клиентов, у которых количество заказов больше, чем среднее по всем клиентам.
Задача 2:
Выбрать продукты, которые стоят выше средней цены по их категориям.
Задача 3:
Выбрать студентов, которые учатся на курсах с более чем 5 студентами и имеют средний рейтинг выше 4.
Задача 4:
Выбрать авторов, чьи книги имеют рейтинг выше среднего по всем книгам.
Задача 5:
Выбрать все мероприятия, которые прошли в городах, где живут более 10 клиентов.
Задача 6:
Выбрать автомобили, которые были проданы по цене выше, чем цена самого дорогого автомобиля.
Задача 7:
Выбрать сотрудников, у которых зарплата выше средней зарплаты в их отделе.
Задача 8:
Выбрать книги, у которых количество отзывов больше среднего по всем книгам.
Задача 9:
Выбрать студентов, которые учатся на курсах, где средняя оценка студентов выше 4.
Задача 10:
Выбрать продукты, у которых количество отзывов меньше, чем среднее по всем продуктам.
9. Объединение таблиц (Базовые задачи)
Задача 1:
Выбрать информацию о заказах и клиентах.
Задача 2:
Выбрать информацию о книгах и авторах.
Задача 3:
Выбрать информацию о студентах и курсах.
Задача 4:
Выбрать информацию о продуктах и категориях.
Задача 5:
Выбрать информацию о сотрудниках и отделах.
Задача 6:
Выбрать информацию о мероприятиях и городах.
Задача 7:
Выбрать информацию о отзывах и продуктах.
Задача 8:
Выбрать информацию о продажах и автомобилях.
Задача 9:
Выбрать информацию о заказах и статусах.
Задача 10:
Выбрать информацию о клиентах и их заказах.
9. Объединение таблиц (Сложные задачи)
Задача 1:
Выбрать информацию о клиентах, заказах и продуктах.
Задача 2:
Выбрать информацию о студентах, курсах и преподавателях.
Задача 3:
Выбрать информацию о продажах, автомобилях и клиентах.
Задача 4:
Выбрать информацию о отзывах, продуктах и клиентах.
Задача 5:
Выбрать информацию о мероприятиях, городах и организаторах.
Задача 6:
Выбрать информацию о книгах, авторах и жанрах.
Задача 7:
Выбрать информацию о сотрудниках, отделах и проектах.
Задача 8:
Выбрать информацию о заказах, статусах и клиентах.
Задача 9:
Выбрать информацию о продуктах, категориях и отзывах.
Задача 10:
Выбрать информацию о мероприятиях, участниках и организаторах.
10. Индексы и производительность (Базовые задачи)
Задача 1:
Создать индекс по полю client_id в таблице orders.
Задача 2:
Создать индекс по полю email в таблице clients.
Задача 3:
Создать индекс по полю product_id в таблице feedback.
Задача 4:
Создать индекс по полю course_id в таблице students.
Задача 5:
Создать индекс по полю status в таблице orders.
Задача 6:
Создать индекс по полю author_id в таблице books.
Задача 7:
Создать индекс по полю city в таблице clients.
Задача 8:
Создать индекс по полю event_date в таблице events.
Задача 9:
Создать индекс по полю department_id в таблице employees.
Задача 10:
Создать составной индекс по полям course_id и gender в таблице students.
10. Индексы и производительность (Сложные задачи)
Задача 1:
Создать индекс по полю order_date и client_id в таблице orders.
Задача 2:
Создать индекс по полю price и category_id в таблице products.
Задача 3:
Создать составной индекс по полям event_type и event_date в таблице events.
Задача 4:
Создать индекс по полю user_id и product_id в таблице feedback.
Задача 5:
Создать составной индекс по полям department и salary в таблице employees.
Задача 6:
Создать индекс по полю city и age в таблице clients.
Задача 7:
Создать составной индекс по полям author_id и rating в таблице books.
Задача 8:
Создать индекс по полю student_id и course_id в таблице students_courses.
Задача 9:
Создать составной индекс по полям event_id и participant_id в таблице event_participants.
Задача 10:
Создать индекс по полю product_id и order_id в таблице order_products.
11. Временные таблицы и представления (Базовые задачи)
Задача 1:
Создать временную таблицу для хранения заказов.
Задача 2:
Создать представление для отображения информации о клиентах и их заказах.
Задача 3:
Создать временную таблицу для хранения отзывов.
Задача 4:
Создать представление для отображения информации о продуктах и их категориях.
Задача 5:
Создать временную таблицу для хранения студентов.
Задача 6:
Создать представление для отображения информации о мероприятиях и их организаторах.
Задача 7:
Создать временную таблицу для хранения автомобилей.
Задача 8:
Создать представление для отображения информации о книгах и их авторах.
Задача 9:
Создать временную таблицу для хранения сотрудников.
Задача 10:
Создать представление для отображения информации о заказах и их статусах.
11. Временные таблицы и представления (Сложные задачи)
Задача 1:
Создать представление для отображения информации о клиентах, заказах и продуктах.
Задача 2:
Создать представление для отображения информации о студентах, курсах и преподавателях.
Задача 3:
Создать представление для отображения информации о продажах, автомобилях и клиентах.
Задача 4:
Создать представление для отображения информации о отзывах, продуктах и клиентах.
Задача 5:
Создать представление для отображения информации о мероприятиях, городах и организаторах.
Задача 6:
Создать представление для отображения информации о книгах, авторах и жанрах.
Задача 7:
Создать представление для отображения информации о сотрудниках, отделах и проектах.
Задача 8:
Создать представление для отображения информации о заказах, статусах и клиентах.
Задача 9:
Создать представление для отображения информации о продуктах, категориях и отзывах.
Задача 10:
Создать представление для отображения информации о мероприятиях, участниках и организаторах.
12. Триггеры и процедуры (Базовые задачи)
Задача 1:
Создать триггер, который будет автоматически обновлять дату последнего обновления в таблице orders при изменении записи.
Задача 2:
Создать триггер, который будет автоматически увеличивать счетчик отзывов для продукта при добавлении нового отзыва.
Задача 3:
Создать триггер, который будет запрещать удаление клиента, если у него есть активные заказы.
Задача 4:
Создать триггер, который будет автоматически обновлять количество оставшихся продуктов на складе при добавлении нового заказа.
Задача 5:
Создать триггер, который будет автоматически добавлять запись в журнал изменений при обновлении данных сотрудника.
Задача 6:
Создать процедуру, которая будет возвращать список всех клиентов.
Задача 7:
Создать процедуру, которая будет возвращать информацию о продукте по его ID.
Задача 8:
Создать процедуру, которая будет добавлять новый заказ.
Задача 9:
Создать процедуру, которая будет обновлять статус заказа.
Задача 10:
Создать процедуру, которая будет удалять отзыв по его ID.
12. Триггеры и процедуры (Сложные задачи)
Задача 1:
Создать триггер, который будет автоматически обновлять общую стоимость заказа при изменении количества продуктов.
Задача 2:
Создать триггер, который будет автоматически отправлять уведомление клиенту при добавлении нового отзыва на его продукт.
Задача 3:
Создать процедуру, которая будет возвращать количество отзывов для продукта по его ID.
Задача 4:
Создать процедуру, которая будет возвращать список всех заказов для клиента по его ID.
Задача 5:
Создать триггер, который будет автоматически создавать запись о продажах при добавлении нового заказа.
Задача 6:
Создать процедуру, которая будет обновлять информацию о продукте.
Задача 7:
Создать триггер, который будет автоматически обновлять дату последнего входа сотрудника при входе.
Задача 8:
Создать процедуру, которая будет возвращать информацию о сотрудниках по отделу.
Задача 9:
Создать триггер, который будет автоматически удалять запись о продаже при удалении заказа.
Задача 10:
Создать процедуру, которая будет удалять клиента по его ID.
13. Работа с транзакциями и блокировками (Базовые задачи)
Задача 1:
Создать транзакцию для добавления нового клиента и его заказа.
Задача 2:
Создать транзакцию для обновления информации о продукте и его категории.
Задача 3:
Создать транзакцию для удаления клиента и его заказов.
Задача 4:
Создать транзакцию для обновления статуса заказа и отправки уведомления клиенту.
Задача 5:
Создать транзакцию для обновления количества продуктов на складе и создания записи о продаже.
14. Работа с транзакциями и блокировками (Сложные задачи)
Задача 1:
Создать транзакцию для обновления информации о продукте и проверки наличия на складе.
Задача 2:
Создать транзакцию для обработки заказа с проверкой наличия продукта.
Задача 3:
Создать транзакцию для удаления продукта и всех связанных отзывов.
Задача 4:
Создать транзакцию для обработки нескольких заказов одновременно.
Задача 5:
Создать транзакцию для проверки и обновления статуса нескольких заказов.
15. Оптимизация и анализ запросов (Базовые задачи)
Задача 1:
Использовать EXPLAIN для анализа запроса на получение всех клиентов.
Задача 2:
Использовать EXPLAIN для анализа запроса на получение всех заказов по клиенту.
Задача 3:
Использовать ANALYZE для анализа таблицы products.
Задача 4:
Использовать SHOW STATUS для получения информации о производительности базы данных.
Задача 5:
Использовать SHOW VARIABLES для получения информации о конфигурации сервера.
16. Оптимизация и анализ запросов (Сложные задачи)
Задача 1:
Оптимизировать запрос на получение заказов с использованием индексов.
Задача 2:
Оптимизировать запрос на получение информации о продуктах с использованием JOIN.
Задача 3:
Использовать UNION для объединения результатов двух запросов.
Задача 4:
Использовать GROUP BY для получения количества заказов по каждому клиенту.
Задача 5:
Использовать HAVING для фильтрации групповых результатов.
Эти задания помогут вам изучить основные и сложные аспекты работы с SQL. Вы можете использовать их для практики и углубления ваших знаний.